/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package proevaaction;

import com.sun.data.provider.DataProvider;
import com.sun.data.provider.impl.CachedRowSetDataProvider;
import com.sun.rave.web.ui.appbase.AbstractSessionBean;
import com.sun.sql.rowset.CachedRowSetXImpl;
import javax.faces.FacesException;

/**
 * <p>Session scope data bean for your application.  Create properties
 *  here to represent cached data that should be made available across
 *  multiple HTTP requests for an individual user.</p>
 *
 * <p>An instance of this class will be created for you automatically,
 * the first time your application evaluates a value binding expression
 * or method binding expression that references a managed bean using
 * this class.</p>
 *
 * @version SessionBean1.java
 * @version Created on 2008-11-28, 17:38:02
 * @author Peter
 */

public class SessionBean1 extends AbstractSessionBean {
    // <editor-fold defaultstate="collapsed" desc="Managed Component Definition">

    /**
     * <p>Automatically managed component initialization.  <strong>WARNING:</strong>
     * This method is automatically generated, so any user-specified code inserted
     * here is subject to being replaced.</p>
     */
    private void _init() throws Exception {
		actionRowSet.setDataSourceName("java:comp/env/jdbc/dbo_MicrosoftSQLServer");
		actionRowSet.setCommand("SELECT ALL dbo.Action.ID, dbo.Action.Name, dbo.Action.AorD, dbo.Action.Type, dbo.Action.Des  FROM dbo.Action");
		actionRowSet.setTableName("Action");
		maxActionDataProvider.setCachedRowSet((javax.sql.rowset.CachedRowSet) getValue("#{SessionBean1.maxActionRowSet}"));
		maxActionRowSet.setDataSourceName("java:comp/env/jdbc/dbo_MicrosoftSQLServer");
		maxActionRowSet.setCommand("SELECT MAX(dbo.Action.ID)+1 AS MAXACTIONID FROM dbo.Action");
		maxActionRowSet.setTableName("Action");
		actionRowSet1.setDataSourceName("java:comp/env/jdbc/ProtectionEva_MySQL");
		actionRowSet1.setCommand("SELECT * FROM action");
		actionRowSet1.setTableName("action");
		typeRowSet.setDataSourceName("java:comp/env/jdbc/dbo_MicrosoftSQLServer");
		typeRowSet.setCommand("SELECT * FROM dbo.Type");
		typeRowSet.setTableName("Type");
		payoffRowSet.setDataSourceName("java:comp/env/jdbc/dbo_MicrosoftSQLServer");
		payoffRowSet.setCommand("SELECT ALL dbo.Payoff.ID, dbo.Payoff.Att_Measure, dbo.Payoff.Def_Measure, dbo.Payoff.Att_Payoff, dbo.Payoff.Def_Payoff, dbo.Payoff.isAttConstant, dbo.Payoff.isDefConstant  FROM dbo.Payoff");
		payoffRowSet.setTableName("Payoff");
		attackActionDataProvider.setCachedRowSet((javax.sql.rowset.CachedRowSet) getValue("#{SessionBean1.attackActionRowSet}"));
		attackActionRowSet.setDataSourceName("java:comp/env/jdbc/dbo_MicrosoftSQLServer");
		attackActionRowSet.setCommand("SELECT ALL dbo.Action.ID, dbo.Action.Name, dbo.Action.AorD, dbo.Action.Type, dbo.Action.Des  FROM dbo.Action WHERE dbo.Action.AorD = \'true\'");
		attackActionRowSet.setTableName("Action");
		defActionDataProvider.setCachedRowSet((javax.sql.rowset.CachedRowSet) getValue("#{SessionBean1.defActionRowSet}"));
		defActionRowSet.setDataSourceName("java:comp/env/jdbc/dbo_MicrosoftSQLServer");
		defActionRowSet.setCommand("SELECT ALL dbo.Action.ID, dbo.Action.Name, dbo.Action.AorD, dbo.Action.Type, dbo.Action.Des  FROM dbo.Action WHERE dbo.Action.AorD = \'false\'");
		defActionRowSet.setTableName("Action");
		maxPayoffDataProvider.setCachedRowSet((javax.sql.rowset.CachedRowSet) getValue("#{SessionBean1.maxPayoffRowSet}"));
		maxPayoffRowSet.setDataSourceName("java:comp/env/jdbc/dbo_MicrosoftSQLServer");
		maxPayoffRowSet.setCommand("SELECT MAX(dbo.Payoff.ID)+1 AS MAXPAYOFFID FROM dbo.Payoff");
		maxPayoffRowSet.setTableName("Payoff");
    }
	private CachedRowSetXImpl actionRowSet = new CachedRowSetXImpl();

	public CachedRowSetXImpl getActionRowSet() {
		return actionRowSet;
	}

	public void setActionRowSet(CachedRowSetXImpl crsxi) {
		this.actionRowSet = crsxi;
	}
	private CachedRowSetDataProvider maxActionDataProvider = new CachedRowSetDataProvider();

	public CachedRowSetDataProvider getMaxActionDataProvider() {
		return maxActionDataProvider;
	}

	public void setMaxActionDataProvider(CachedRowSetDataProvider crsdp) {
		this.maxActionDataProvider = crsdp;
	}
	private CachedRowSetXImpl maxActionRowSet = new CachedRowSetXImpl();

	public CachedRowSetXImpl getMaxActionRowSet() {
		return maxActionRowSet;
	}

	public void setMaxActionRowSet(CachedRowSetXImpl crsxi) {
		this.maxActionRowSet = crsxi;
	}
	private CachedRowSetXImpl actionRowSet1 = new CachedRowSetXImpl();

	public CachedRowSetXImpl getActionRowSet1() {
		return actionRowSet1;
	}

	public void setActionRowSet1(CachedRowSetXImpl crsxi) {
		this.actionRowSet1 = crsxi;
	}
	private CachedRowSetXImpl testRowSet = new CachedRowSetXImpl();

	public CachedRowSetXImpl getTestRowSet() {
		return testRowSet;
	}

	public void setTestRowSet(CachedRowSetXImpl crsxi) {
		this.testRowSet = crsxi;
	}
	private CachedRowSetXImpl typeRowSet = new CachedRowSetXImpl();

	public CachedRowSetXImpl getTypeRowSet() {
		return typeRowSet;
	}

	public void setTypeRowSet(CachedRowSetXImpl crsxi) {
		this.typeRowSet = crsxi;
	}
	private CachedRowSetXImpl payoffRowSet = new CachedRowSetXImpl();

	public CachedRowSetXImpl getPayoffRowSet() {
		return payoffRowSet;
	}

	public void setPayoffRowSet(CachedRowSetXImpl crsxi) {
		this.payoffRowSet = crsxi;
	}
	private CachedRowSetDataProvider attackActionDataProvider = new CachedRowSetDataProvider();

	public CachedRowSetDataProvider getAttackActionDataProvider() {
		return attackActionDataProvider;
	}

	public void setAttackActionDataProvider(CachedRowSetDataProvider crsdp) {
		this.attackActionDataProvider = crsdp;
	}



	private CachedRowSetXImpl attackActionRowSet = new CachedRowSetXImpl();

	public CachedRowSetXImpl getAttackActionRowSet() {
		return attackActionRowSet;
	}

	public void setAttackActionRowSet(CachedRowSetXImpl crsxi) {
		this.attackActionRowSet = crsxi;
	}
	private CachedRowSetDataProvider defActionDataProvider = new CachedRowSetDataProvider();

	public CachedRowSetDataProvider getDefActionDataProvider() {
		return defActionDataProvider;
	}

	public void setDefActionDataProvider(CachedRowSetDataProvider crsdp) {
		this.defActionDataProvider = crsdp;
	}
	private CachedRowSetXImpl defActionRowSet = new CachedRowSetXImpl();

	public CachedRowSetXImpl getDefActionRowSet() {
		return defActionRowSet;
	}

	public void setDefActionRowSet(CachedRowSetXImpl crsxi) {
		this.defActionRowSet = crsxi;
	}
	private CachedRowSetDataProvider maxPayoffDataProvider = new CachedRowSetDataProvider();

	public CachedRowSetDataProvider getMaxPayoffDataProvider() {
		return maxPayoffDataProvider;
	}

	public void setMaxPayoffDataProvider(CachedRowSetDataProvider crsdp) {
		this.maxPayoffDataProvider = crsdp;
	}
	private CachedRowSetXImpl maxPayoffRowSet = new CachedRowSetXImpl();

	public CachedRowSetXImpl getMaxPayoffRowSet() {
		return maxPayoffRowSet;
	}

	public void setMaxPayoffRowSet(CachedRowSetXImpl crsxi) {
		this.maxPayoffRowSet = crsxi;
	}
    // </editor-fold>

    /**
     * <p>Construct a new session data bean instance.</p>
     */
    public SessionBean1() {
    }

    /**
     * <p>This method is called when this bean is initially added to
     * session scope.  Typically, this occurs as a result of evaluating
     * a value binding or method binding expression, which utilizes the
     * managed bean facility to instantiate this bean and store it into
     * session scope.</p>
     * 
     * <p>You may customize this method to initialize and cache data values
     * or resources that are required for the lifetime of a particular
     * user session.</p>
     */
    @Override
    public void init() {
        // Perform initializations inherited from our superclass
        super.init();
        // Perform application initialization that must complete
        // *before* managed components are initialized
        // TODO - add your own initialiation code here
        
        // <editor-fold defaultstate="collapsed" desc="Managed Component Initialization">
        // Initialize automatically managed components
        // *Note* - this logic should NOT be modified
        try {
            _init();
        } catch (Exception e) {
            log("SessionBean1 Initialization Failure", e);
            throw e instanceof FacesException ? (FacesException) e: new FacesException(e);
        }
        
        // </editor-fold>
        // Perform application initialization that must complete
        // *after* managed components are initialized
        // TODO - add your own initialization code here
    }

    /**
     * <p>This method is called when the session containing it is about to be
     * passivated.  Typically, this occurs in a distributed servlet container
     * when the session is about to be transferred to a different
     * container instance, after which the <code>activate()</code> method
     * will be called to indicate that the transfer is complete.</p>
     * 
     * <p>You may customize this method to release references to session data
     * or resources that can not be serialized with the session itself.</p>
     */
    @Override
    public void passivate() {
    }

    /**
     * <p>This method is called when the session containing it was
     * reactivated.</p>
     * 
     * <p>You may customize this method to reacquire references to session
     * data or resources that could not be serialized with the
     * session itself.</p>
     */
    @Override
    public void activate() {
    }

    /**
     * <p>This method is called when this bean is removed from
     * session scope.  Typically, this occurs as a result of
     * the session timing out or being terminated by the application.</p>
     * 
     * <p>You may customize this method to clean up resources allocated
     * during the execution of the <code>init()</code> method, or
     * at any later time during the lifetime of the application.</p>
     */
    @Override
    public void destroy() {
		maxActionDataProvider.close();
		attackActionDataProvider.close();
		defActionDataProvider.close();
		maxPayoffDataProvider.close();
    }
    
    /**
     * <p>Return a reference to the scoped data bean.</p>
     *
     * @return reference to the scoped data bean
     */
    protected ApplicationBean1 getApplicationBean1() {
        return (ApplicationBean1) getBean("ApplicationBean1");
    }

}
